package br.com.as.validadores;

import java.util.Date;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;

import br.com.as.utils.AsUtils;

/**
 * Classe que valida data atual
 * 
 * @author msante
 *
 */
public class DataAtualValidator implements Validator {

	public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
		if (value == null) {
			return;
		}
		Date v = (Date) value;
		
		Date hoje = AsUtils.zeraHora(new Date());
		v = AsUtils.zeraHora(v);

		if (hoje.compareTo(v) < 0) {
			throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR, "Data deve ser menor ou igual a data atual.", "Data deve ser menor ou igual a data atual."));
		}
	}
}
